{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#normal0 = pd.read_excel('SWaT_Dataset_Normal_v0.xlsx')\n",
    "normal1 = pd.read_excel('SWaT_Dataset_Normal_v1.xlsx')\n",
    "attack = pd.read_excel('SWaT_Dataset_Attack_v0.xlsx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "#if not os.path.isfile(directory + 'train.csv'):\n",
    "#normal0.to_csv('train.csv', index=None, header=None)\n",
    "normal1.to_csv('train1.csv', index=None, header=None)\n",
    "attack.to_csv('test.csv', index=None, header=None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "test = pd.read_csv('test.csv')\n",
    "train1 = pd.read_csv('train1.csv')\n",
    "#train = pd.read_csv('train.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(496800, 53)"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(495000, 53)"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(449919, 53)"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1['Normal/Attack'] = [0 if x == 'Normal' else 1 for x in train1['Normal/Attack']]\n",
    "test['Normal/Attack'] = [0 if x == 'Normal' else 1 for x in test['Normal/Attack']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    395298\n",
       "1     54621\n",
       "Name: Normal/Attack, dtype: int64"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test['Normal/Attack'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    495000\n",
       "Name: Normal/Attack, dtype: int64"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1['Normal/Attack'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "# trim column names\n",
    "train1 = train1.rename(columns=lambda x: x.strip())\n",
    "test = test.rename(columns=lambda x: x.strip())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0         0\n",
       "1         0\n",
       "2         0\n",
       "3         0\n",
       "4         0\n",
       "         ..\n",
       "449914    0\n",
       "449915    0\n",
       "449916    0\n",
       "449917    0\n",
       "449918    0\n",
       "Name: Normal/Attack, Length: 449919, dtype: int64"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_labels = test['Normal/Attack']\n",
    "test_labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [],
   "source": [
    "def search_ratio(test_labels, val_len):\n",
    "    test = test_labels[val_len:]\n",
    "    val = test_labels[:val_len]\n",
    "    test_ratio = (np.sum(test) /test.shape[0]) * 100\n",
    "    val_ratio = (np.sum(val) / val.shape[0]) * 100\n",
    "    print(f'val ratio: {val_ratio}')\n",
    "    print(f'test ratio: {test_ratio}')\n",
    "    print('----')\n",
    "    return val_ratio, test_ratio"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "val ratio: 5.764422168631852\n",
      "test ratio: 13.734108285917495\n",
      "----\n",
      "val ratio: 9.926429730390522\n",
      "test ratio: 12.386152599968389\n",
      "----\n",
      "val ratio: 6.432302278199667\n",
      "test ratio: 14.586402662060557\n",
      "----\n"
     ]
    }
   ],
   "source": [
    "vr, tr = search_ratio(test_labels=test_labels.to_numpy(), val_len=int(0.2 * test.shape[0]))\n",
    "vr, tr = search_ratio(test_labels=test_labels.to_numpy(), val_len=int(0.1 * test.shape[0]))\n",
    "vr, tr = search_ratio(test_labels=test_labels.to_numpy(), val_len=int(0.3 * test.shape[0]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "44991"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val_len = int(0.1 * test.shape[0])\n",
    "val_len"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(44991, 53)"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "validation = test[:val_len]\n",
    "validation.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    40525\n",
       "1     4466\n",
       "Name: Normal/Attack, dtype: int64"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "validation['Normal/Attack'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0        0\n",
       "1        0\n",
       "2        0\n",
       "3        0\n",
       "4        0\n",
       "        ..\n",
       "44986    0\n",
       "44987    0\n",
       "44988    0\n",
       "44989    0\n",
       "44990    0\n",
       "Name: Normal/Attack, Length: 44991, dtype: int64"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "validation_labels = validation['Normal/Attack']\n",
    "validation_labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(404928, 53)"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_clipped = test[val_len:]\n",
    "test_clipped.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(404928,)"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_labels_clipped = test_labels[val_len:]\n",
    "test_labels_clipped.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PolyCollection at 0x7fd443f65cd0>"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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JwBQHtx+++10+umnU0NDAzU0NNCyZcvo4Ycfzp7HHAGA0UVcn4A5AgCjmy996UuUyWTo+uuvzx7DXAGMOB4AjvzsZz/zampqvDvuuMNbu3at9+EPf9hramry2tvbC501AEAe3HLLLd4pp5zi7d27N/vvwIED2fMf+chHvJkzZ3qPPfaYt3LlSu+8887zzj///Oz5gYEB79RTT/UuueQS7+WXX/Yeeughb9KkSd7NN9+c/c3WrVu9sWPHejfccIO3bt0677//+7+9yspK73e/+132N+hTACgMDz30kPeZz3zGu++++zwi8u6///7A+S996UteY2Oj98ADD3ivvPKK9+d//ufe3LlzvWPHjmV/c9lll3lLly71nn32We9Pf/qTt2DBAu9973tf9nx3d7fX0tLivf/97/fWrFnj3X333d6YMWO87373u9nfPPPMM15lZaX35S9/2Vu3bp332c9+1quurvZWr16dV14AAG7E9QnXXnutd9lllwXmDYcOHQr8Bn0CAOXBpZde6v3v//6vt2bNGm/VqlXeFVdc4c2aNcs7fPhw9jfFtFaIywsAwI1c+oSLLrrI+/CHPxyYJ3R3d2fPo08AoHz49a9/7T344IPexo0bvQ0bNnif/vSnverqam/NmjWe52GOAMBoI65PwBwBgNHL888/782ZM8c7/fTTvY9//OPZ45grgJEGBlLAmXPOOce77rrrst8HBwe9adOmebfddlsBcwUAyJdbbrnFW7p0qfFcV1eXV11d7f3iF7/IHnvttdc8IvJWrFjheZ54kVpRUeHt27cv+5vbb7/da2ho8Pr6+jzP87wbb7zRO+WUUwKy3/Oe93iXXnpp9jv6FAAKj24MMTQ05LW2tnr/8R//kT3W1dXl1dbWenfffbfneZ63bt06j4i8F154Ifubhx9+2MtkMt7u3bs9z/O8b3/7215zc3O2T/A8z7vpppu8xYsXZ7+/+93v9q688spAfs4991zv7//+73POCwCAF5uB1Nvf/nbrNegTAChf9u/f7xGR9+STT3qeV1xrhVzyAgDgRe8TPE+8/FRfeuigTwCgvGlubvZ+8IMfYI4AAPA8z+8TPA9zBABGK729vd7ChQu9Rx99NNAPYK4ACgG22ANOnDhxgl588UW65JJLsscqKirokksuoRUrVhQwZwCAJGzatImmTZtG8+bNo/e///3U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",
      "text/plain": [
       "<Figure size 3000x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams['figure.figsize'] = 30, 2\n",
    "plt.plot(test_clipped.to_numpy()[:, 4])\n",
    "plt.fill_between(np.arange(test_labels_clipped.to_numpy().shape[0]), test_labels_clipped.to_numpy(), color='red', alpha=0.7, linestyle='dashed', linewidth=0.3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PolyCollection at 0x7fd43d9aad90>"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 3000x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(validation.to_numpy()[:, 4])\n",
    "plt.fill_between(np.arange(validation_labels.to_numpy().shape[0]), validation_labels.to_numpy(), color='red', alpha=0.7, linestyle='dashed', linewidth=0.3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f45e85b52e0>]"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 3000x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(train_values[:, 4])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [],
   "source": [
    "# we don't need timestamps or training labels\n",
    "train_dropped = train1.drop([\"Timestamp\" , \"Normal/Attack\" ] , axis = 1)\n",
    "test_dropped = test_clipped.drop([\"Timestamp\" , \"Normal/Attack\" ] , axis = 1)\n",
    "validation_dropped = validation.drop([\"Timestamp\" , \"Normal/Attack\" ] , axis = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FIT101</th>\n",
       "      <th>LIT101</th>\n",
       "      <th>MV101</th>\n",
       "      <th>P101</th>\n",
       "      <th>P102</th>\n",
       "      <th>AIT201</th>\n",
       "      <th>AIT202</th>\n",
       "      <th>AIT203</th>\n",
       "      <th>FIT201</th>\n",
       "      <th>MV201</th>\n",
       "      <th>...</th>\n",
       "      <th>FIT504</th>\n",
       "      <th>P501</th>\n",
       "      <th>P502</th>\n",
       "      <th>PIT501</th>\n",
       "      <th>PIT502</th>\n",
       "      <th>PIT503</th>\n",
       "      <th>FIT601</th>\n",
       "      <th>P601</th>\n",
       "      <th>P602</th>\n",
       "      <th>P603</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0</td>\n",
       "      <td>124.3135</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>251.9226</td>\n",
       "      <td>8.313446</td>\n",
       "      <td>312.7916</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9.100231</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.3485</td>\n",
       "      <td>0.000256</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>124.3920</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>251.9226</td>\n",
       "      <td>8.313446</td>\n",
       "      <td>312.7916</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9.100231</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.3485</td>\n",
       "      <td>0.000256</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>124.4705</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>251.9226</td>\n",
       "      <td>8.313446</td>\n",
       "      <td>312.7916</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9.100231</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.3485</td>\n",
       "      <td>0.000256</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>124.6668</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>251.9226</td>\n",
       "      <td>8.313446</td>\n",
       "      <td>312.7916</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9.100231</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.3485</td>\n",
       "      <td>0.000256</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.0</td>\n",
       "      <td>124.5098</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>251.9226</td>\n",
       "      <td>8.313446</td>\n",
       "      <td>312.7916</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>9.100231</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.3485</td>\n",
       "      <td>0.000256</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 51 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   FIT101    LIT101  MV101  P101  P102    AIT201    AIT202    AIT203  FIT201  \\\n",
       "0     0.0  124.3135      1     1     1  251.9226  8.313446  312.7916     0.0   \n",
       "1     0.0  124.3920      1     1     1  251.9226  8.313446  312.7916     0.0   \n",
       "2     0.0  124.4705      1     1     1  251.9226  8.313446  312.7916     0.0   \n",
       "3     0.0  124.6668      1     1     1  251.9226  8.313446  312.7916     0.0   \n",
       "4     0.0  124.5098      1     1     1  251.9226  8.313446  312.7916     0.0   \n",
       "\n",
       "   MV201  ...  FIT504  P501  P502    PIT501  PIT502  PIT503    FIT601  P601  \\\n",
       "0      1  ...     0.0     1     1  9.100231     0.0  3.3485  0.000256     1   \n",
       "1      1  ...     0.0     1     1  9.100231     0.0  3.3485  0.000256     1   \n",
       "2      1  ...     0.0     1     1  9.100231     0.0  3.3485  0.000256     1   \n",
       "3      1  ...     0.0     1     1  9.100231     0.0  3.3485  0.000256     1   \n",
       "4      1  ...     0.0     1     1  9.100231     0.0  3.3485  0.000256     1   \n",
       "\n",
       "   P602  P603  \n",
       "0     1     1  \n",
       "1     1     1  \n",
       "2     1     1  \n",
       "3     1     1  \n",
       "4     1     1  \n",
       "\n",
       "[5 rows x 51 columns]"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_dropped.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FIT101</th>\n",
       "      <th>LIT101</th>\n",
       "      <th>MV101</th>\n",
       "      <th>P101</th>\n",
       "      <th>P102</th>\n",
       "      <th>AIT201</th>\n",
       "      <th>AIT202</th>\n",
       "      <th>AIT203</th>\n",
       "      <th>FIT201</th>\n",
       "      <th>MV201</th>\n",
       "      <th>...</th>\n",
       "      <th>FIT504</th>\n",
       "      <th>P501</th>\n",
       "      <th>P502</th>\n",
       "      <th>PIT501</th>\n",
       "      <th>PIT502</th>\n",
       "      <th>PIT503</th>\n",
       "      <th>FIT601</th>\n",
       "      <th>P601</th>\n",
       "      <th>P602</th>\n",
       "      <th>P603</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>44991</th>\n",
       "      <td>2.665983</td>\n",
       "      <td>533.0524</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>258.0108</td>\n",
       "      <td>8.381697</td>\n",
       "      <td>330.7357</td>\n",
       "      <td>2.441162</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0.304583</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>247.6288</td>\n",
       "      <td>1.025214</td>\n",
       "      <td>186.6188</td>\n",
       "      <td>0.000064</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44992</th>\n",
       "      <td>2.644525</td>\n",
       "      <td>532.3066</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>258.0108</td>\n",
       "      <td>8.381697</td>\n",
       "      <td>330.7357</td>\n",
       "      <td>2.441162</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0.304583</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>247.5487</td>\n",
       "      <td>1.025214</td>\n",
       "      <td>186.6188</td>\n",
       "      <td>0.000064</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44993</th>\n",
       "      <td>2.621785</td>\n",
       "      <td>532.1497</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>258.0108</td>\n",
       "      <td>8.381697</td>\n",
       "      <td>330.7357</td>\n",
       "      <td>2.436036</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.304583</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>247.5487</td>\n",
       "      <td>1.025214</td>\n",
       "      <td>186.5387</td>\n",
       "      <td>0.000064</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44994</th>\n",
       "      <td>2.613778</td>\n",
       "      <td>531.5216</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>258.0108</td>\n",
       "      <td>8.381697</td>\n",
       "      <td>330.7357</td>\n",
       "      <td>2.338641</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.304583</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>247.5487</td>\n",
       "      <td>1.025214</td>\n",
       "      <td>186.5227</td>\n",
       "      <td>0.000064</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44995</th>\n",
       "      <td>2.613778</td>\n",
       "      <td>531.4038</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>258.0108</td>\n",
       "      <td>8.381697</td>\n",
       "      <td>330.7357</td>\n",
       "      <td>2.221510</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.304583</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>247.5487</td>\n",
       "      <td>1.025214</td>\n",
       "      <td>186.5227</td>\n",
       "      <td>0.000064</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 51 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         FIT101    LIT101  MV101  P101  P102    AIT201    AIT202    AIT203  \\\n",
       "44991  2.665983  533.0524      2     1     1  258.0108  8.381697  330.7357   \n",
       "44992  2.644525  532.3066      2     1     1  258.0108  8.381697  330.7357   \n",
       "44993  2.621785  532.1497      2     1     1  258.0108  8.381697  330.7357   \n",
       "44994  2.613778  531.5216      2     1     1  258.0108  8.381697  330.7357   \n",
       "44995  2.613778  531.4038      2     1     1  258.0108  8.381697  330.7357   \n",
       "\n",
       "         FIT201  MV201  ...    FIT504  P501  P502    PIT501    PIT502  \\\n",
       "44991  2.441162      2  ...  0.304583     2     1  247.6288  1.025214   \n",
       "44992  2.441162      2  ...  0.304583     2     1  247.5487  1.025214   \n",
       "44993  2.436036      0  ...  0.304583     2     1  247.5487  1.025214   \n",
       "44994  2.338641      0  ...  0.304583     2     1  247.5487  1.025214   \n",
       "44995  2.221510      0  ...  0.304583     2     1  247.5487  1.025214   \n",
       "\n",
       "         PIT503    FIT601  P601  P602  P603  \n",
       "44991  186.6188  0.000064     1     1     1  \n",
       "44992  186.6188  0.000064     1     1     1  \n",
       "44993  186.5387  0.000064     1     1     1  \n",
       "44994  186.5227  0.000064     1     1     1  \n",
       "44995  186.5227  0.000064     1     1     1  \n",
       "\n",
       "[5 rows x 51 columns]"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_dropped.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FIT101</th>\n",
       "      <th>LIT101</th>\n",
       "      <th>MV101</th>\n",
       "      <th>P101</th>\n",
       "      <th>P102</th>\n",
       "      <th>AIT201</th>\n",
       "      <th>AIT202</th>\n",
       "      <th>AIT203</th>\n",
       "      <th>FIT201</th>\n",
       "      <th>MV201</th>\n",
       "      <th>...</th>\n",
       "      <th>FIT504</th>\n",
       "      <th>P501</th>\n",
       "      <th>P502</th>\n",
       "      <th>PIT501</th>\n",
       "      <th>PIT502</th>\n",
       "      <th>PIT503</th>\n",
       "      <th>FIT601</th>\n",
       "      <th>P601</th>\n",
       "      <th>P602</th>\n",
       "      <th>P603</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2.427057</td>\n",
       "      <td>522.8467</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>262.0161</td>\n",
       "      <td>8.396437</td>\n",
       "      <td>328.6337</td>\n",
       "      <td>2.445391</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0.307786</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>250.8652</td>\n",
       "      <td>1.649953</td>\n",
       "      <td>189.5988</td>\n",
       "      <td>0.000128</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2.446274</td>\n",
       "      <td>522.8860</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>262.0161</td>\n",
       "      <td>8.396437</td>\n",
       "      <td>328.6337</td>\n",
       "      <td>2.445391</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0.307786</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>250.8652</td>\n",
       "      <td>1.649953</td>\n",
       "      <td>189.6789</td>\n",
       "      <td>0.000128</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2.489191</td>\n",
       "      <td>522.8467</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>262.0161</td>\n",
       "      <td>8.394514</td>\n",
       "      <td>328.6337</td>\n",
       "      <td>2.442316</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0.308619</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>250.8812</td>\n",
       "      <td>1.649953</td>\n",
       "      <td>189.6789</td>\n",
       "      <td>0.000128</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2.534350</td>\n",
       "      <td>522.9645</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>262.0161</td>\n",
       "      <td>8.394514</td>\n",
       "      <td>328.6337</td>\n",
       "      <td>2.442316</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0.308619</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>250.8812</td>\n",
       "      <td>1.649953</td>\n",
       "      <td>189.6148</td>\n",
       "      <td>0.000128</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2.569260</td>\n",
       "      <td>523.4748</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>262.0161</td>\n",
       "      <td>8.394514</td>\n",
       "      <td>328.6337</td>\n",
       "      <td>2.443085</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0.308619</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>250.8812</td>\n",
       "      <td>1.649953</td>\n",
       "      <td>189.5027</td>\n",
       "      <td>0.000128</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 51 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     FIT101    LIT101  MV101  P101  P102    AIT201    AIT202    AIT203  \\\n",
       "0  2.427057  522.8467      2     2     1  262.0161  8.396437  328.6337   \n",
       "1  2.446274  522.8860      2     2     1  262.0161  8.396437  328.6337   \n",
       "2  2.489191  522.8467      2     2     1  262.0161  8.394514  328.6337   \n",
       "3  2.534350  522.9645      2     2     1  262.0161  8.394514  328.6337   \n",
       "4  2.569260  523.4748      2     2     1  262.0161  8.394514  328.6337   \n",
       "\n",
       "     FIT201  MV201  ...    FIT504  P501  P502    PIT501    PIT502    PIT503  \\\n",
       "0  2.445391      2  ...  0.307786     2     1  250.8652  1.649953  189.5988   \n",
       "1  2.445391      2  ...  0.307786     2     1  250.8652  1.649953  189.6789   \n",
       "2  2.442316      2  ...  0.308619     2     1  250.8812  1.649953  189.6789   \n",
       "3  2.442316      2  ...  0.308619     2     1  250.8812  1.649953  189.6148   \n",
       "4  2.443085      2  ...  0.308619     2     1  250.8812  1.649953  189.5027   \n",
       "\n",
       "     FIT601  P601  P602  P603  \n",
       "0  0.000128     1     1     1  \n",
       "1  0.000128     1     1     1  \n",
       "2  0.000128     1     1     1  \n",
       "3  0.000128     1     1     1  \n",
       "4  0.000128     1     1     1  \n",
       "\n",
       "[5 rows x 51 columns]"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "validation_dropped.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Transform all columns into float64\n",
    "for i in list(train_dropped):\n",
    "    train_dropped[i]=train_dropped[i].apply(lambda x: str(x).replace(\",\" , \".\"))\n",
    "train_dropped = train_dropped.astype(float)\n",
    "\n",
    "for i in list(test_dropped):\n",
    "    test_dropped[i]=test_dropped[i].apply(lambda x: str(x).replace(\",\" , \".\"))\n",
    "test_dropped = test_dropped.astype(float)\n",
    "\n",
    "for i in list(validation_dropped):\n",
    "    validation_dropped[i]=validation_dropped[i].apply(lambda x: str(x).replace(\",\" , \".\"))\n",
    "validation_dropped = validation_dropped.astype(float)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_values = train_dropped.values\n",
    "test_values = test_dropped.values\n",
    "validation_values = validation_dropped.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train min: 0.0\n",
      "Train max: 1014.724\n",
      "---\n",
      "Test min: 0.0\n",
      "Test max: 1201.0\n",
      "---\n",
      "Validation min: 0.0\n",
      "Validation max: 1200.0\n"
     ]
    }
   ],
   "source": [
    "print(f'Train min: {train_values.min()}')\n",
    "print(f'Train max: {train_values.max()}')\n",
    "print('---')\n",
    "print(f'Test min: {test_values.min()}')\n",
    "print(f'Test max: {test_values.max()}')\n",
    "print('---')\n",
    "print(f'Validation min: {validation_values.min()}')\n",
    "print(f'Validation max: {validation_values.max()}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  0.      , 189.8263  ,   0.      ,   1.      ,   1.      ,\n",
       "       168.0338  ,   8.366317, 285.3371  ,   0.      ,   0.      ,\n",
       "         1.      ,   1.      ,   1.      ,   1.      ,   1.      ,\n",
       "         1.      ,   0.      ,   0.      , 364.3863  ,   0.      ,\n",
       "         0.      ,   0.      ,   0.      ,   1.      ,   1.      ,\n",
       "       148.7599  , 140.8357  ,   0.      , 243.0146  ,   1.      ,\n",
       "         1.      ,   1.      ,   1.      ,   1.      ,   7.432902,\n",
       "       129.8385  , 244.8731  ,   9.536016,   0.      ,   0.      ,\n",
       "         0.      ,   0.      ,   1.      ,   1.      ,   9.468726,\n",
       "         0.      ,   3.14022 ,   0.      ,   1.      ,   1.      ,\n",
       "         1.      ])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_values.min(axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(495000, 51)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_values.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler, MaxAbsScaler\n",
    "\n",
    "def scale_data(train, test, validation):\n",
    "    scaler = MinMaxScaler(feature_range=(0, 1), clip=True).fit(train)\n",
    "    #scaler = MaxAbsScaler().fit(train)\n",
    "\n",
    "    train_scaled = scaler.transform(train)\n",
    "    test_scaled = scaler.transform(test)\n",
    "    validation_scaled = scaler.transform(validation)\n",
    "\n",
    "    # train_scaled = scaler.fit_transform(train)\n",
    "    # validation_scaled = scaler.fit_transform(validation)\n",
    "    # test_scaled = scaler.fit_transform(test)\n",
    "\n",
    "    return train_scaled, test_scaled, validation_scaled"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_norm, test_norm, validation_norm = scale_data(train_values, test_values, validation_values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-----Dim 0----\n",
      "TRAIN original: 0.0, 2.745092\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 2.760145\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 2.698972\n",
      "VAL norm:    0.0, 0.9831991058951758\n",
      "-----Dim 1----\n",
      "TRAIN original: 120.6237, 817.5565\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 189.8263, 888.1722\n",
      "TEST norm:    0.09929594359743149, 1.0\n",
      "VAL original: 488.0688, 925.0323\n",
      "VAL norm:    0.5272317503208344, 1.0\n",
      "-----Dim 2----\n",
      "TRAIN original: 0.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 3----\n",
      "TRAIN original: 1.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 4----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 5----\n",
      "TRAIN original: 251.6662, 272.5263\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 168.0338, 267.7198\n",
      "TEST norm:    0.0, 0.7695840384274284\n",
      "VAL original: 257.8826, 266.0856\n",
      "VAL norm:    0.2980043240444683, 0.6912430908768403\n",
      "-----Dim 6----\n",
      "TRAIN original: 8.258652, 8.988273\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 8.366317, 8.73321\n",
      "TEST norm:    0.14756291279993405, 0.6504171343752443\n",
      "VAL original: 6.0, 8.470778\n",
      "VAL norm:    0.0, 0.2907345046263732\n",
      "-----Dim 7----\n",
      "TRAIN original: 312.2789, 567.4699\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 285.3371, 384.4655\n",
      "TEST norm:    0.0, 0.2828728285872151\n",
      "VAL original: 314.8423, 336.8111\n",
      "VAL norm:    0.010045025098847526, 0.09613270060464507\n",
      "-----Dim 8----\n",
      "TRAIN original: 0.0, 2.487938\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 2.826899\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 2.804857\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 9----\n",
      "TRAIN original: 0.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 10----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 11----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 1.0\n",
      "TEST norm:    0.0, 0.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 12----\n",
      "TRAIN original: 1.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 13----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 14----\n",
      "TRAIN original: 1.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 15----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 16----\n",
      "TRAIN original: 0.0, 21.0993\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 45.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.006402459, 45.0\n",
      "VAL norm:    0.00030344414269667716, 1.0\n",
      "-----Dim 17----\n",
      "TRAIN original: 0.0, 2.358774\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 2.376197\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 2.352112\n",
      "VAL norm:    0.0, 0.9971756514189151\n",
      "-----Dim 18----\n",
      "TRAIN original: 132.8185, 1014.724\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 364.3863, 1201.0\n",
      "TEST norm:    0.26257665929059293, 1.0\n",
      "VAL original: 732.1039, 1200.0\n",
      "VAL norm:    0.6795347120524817, 1.0\n",
      "-----Dim 19----\n",
      "TRAIN original: 0.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 20----\n",
      "TRAIN original: 0.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 21----\n",
      "TRAIN original: 0.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 22----\n",
      "TRAIN original: 0.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 23----\n",
      "TRAIN original: 1.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 1.0, 1.0\n",
      "TEST norm:    0.0, 0.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 24----\n",
      "TRAIN original: 1.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 25----\n",
      "TRAIN original: 0.0, 148.8561\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 148.7599, 148.8561\n",
      "TEST norm:    0.9993537382747499, 1.0\n",
      "VAL original: 148.7695, 148.8561\n",
      "VAL norm:    0.9994182300893278, 1.0\n",
      "-----Dim 26----\n",
      "TRAIN original: 153.7811, 235.7088\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 140.8357, 333.8118\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 151.961, 297.3853\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 27----\n",
      "TRAIN original: 0.0, 1.747862\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 1.744914\n",
      "TEST norm:    0.0, 0.998313367989006\n",
      "VAL original: 0.0, 1.743504\n",
      "VAL norm:    0.0, 0.9975066681465699\n",
      "-----Dim 28----\n",
      "TRAIN original: 130.3896, 1003.935\n",
      "TRAIN norm:    0.0, 0.9999999999999999\n",
      "TEST original: 243.0146, 1002.781\n",
      "TEST norm:    0.12892861664659905, 0.9986789467382003\n",
      "VAL original: 572.6224, 1001.935\n",
      "VAL norm:    0.5062505051254348, 0.9977104796155986\n",
      "-----Dim 29----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 1.0\n",
      "TEST norm:    0.0, 0.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 30----\n",
      "TRAIN original: 1.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 31----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 32----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 1.0\n",
      "TEST norm:    0.0, 0.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 33----\n",
      "TRAIN original: 1.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 34----\n",
      "TRAIN original: 7.411433, 7.925084\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 7.432902, 8.307037\n",
      "TEST norm:    0.04179686207171862, 1.0\n",
      "VAL original: 7.831518, 8.219559\n",
      "VAL norm:    0.8178412969117161, 1.0\n",
      "-----Dim 35----\n",
      "TRAIN original: 142.3481, 218.3286\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 129.8385, 260.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 141.8354, 272.8531\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 36----\n",
      "TRAIN original: 252.0828, 283.3568\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 244.8731, 297.2635\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 260.0936, 291.0151\n",
      "VAL norm:    0.25614887766195515, 1.0\n",
      "-----Dim 37----\n",
      "TRAIN original: 7.344271, 227.1725\n",
      "TRAIN norm:    0.0, 0.9999999999999999\n",
      "TEST original: 9.536016, 442.4635\n",
      "TEST norm:    0.009970261826564596, 1.0\n",
      "VAL original: 9.766726, 18.99513\n",
      "VAL norm:    0.011019763071466127, 0.05299983106355279\n",
      "-----Dim 38----\n",
      "TRAIN original: 0.001281723, 1.757754\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 1.753653\n",
      "TEST norm:    0.0, 0.9976652065314663\n",
      "VAL original: 1.217636, 1.752628\n",
      "VAL norm:    0.6924984202298343, 0.9970816504950736\n",
      "-----Dim 39----\n",
      "TRAIN original: 0.000640451, 1.361983\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 1.358781\n",
      "TEST norm:    0.0, 0.9976479101440325\n",
      "VAL original: 0.8169591, 1.360318\n",
      "VAL norm:    0.599642352763926, 0.9987769426576558\n",
      "-----Dim 40----\n",
      "TRAIN original: 0.001664373, 0.7636911\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 0.7415421\n",
      "TEST norm:    0.0, 0.9709340903472012\n",
      "VAL original: 0.3337708, 0.7391096\n",
      "VAL norm:    0.4358199197388519, 0.96774194509322\n",
      "-----Dim 41----\n",
      "TRAIN original: 0.0, 0.3170099\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 0.0, 0.3116933\n",
      "TEST norm:    0.0, 0.9832289149329405\n",
      "VAL original: 0.0, 0.3109887\n",
      "VAL norm:    0.0, 0.9810062714129748\n",
      "-----Dim 42----\n",
      "TRAIN original: 1.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 43----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 1.0\n",
      "TEST norm:    0.0, 0.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 44----\n",
      "TRAIN original: 8.891951, 264.6437\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 9.468726, 254.3418\n",
      "TEST norm:    0.0022552142937642267, 0.9597191415492528\n",
      "VAL original: 163.8843, 251.522\n",
      "VAL norm:    0.6060265456874743, 0.9486936060014978\n",
      "-----Dim 45----\n",
      "TRAIN original: 0.0, 3.668343\n",
      "TRAIN norm:    0.0, 0.9999999999999999\n",
      "TEST original: 0.0, 1.826162\n",
      "TEST norm:    0.0, 0.4978165891248446\n",
      "VAL original: 0.0, 1.970333\n",
      "VAL norm:    0.0, 0.5371179848776408\n",
      "-----Dim 46----\n",
      "TRAIN original: 3.108177, 200.6376\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 3.14022, 191.986\n",
      "TEST norm:    0.00016221887105902222, 0.9562009554394335\n",
      "VAL original: 134.4687, 190.3679\n",
      "VAL norm:    0.6650174996967415, 0.9480092644223439\n",
      "-----Dim 47----\n",
      "TRAIN original: 0.0, 1.746131\n",
      "TRAIN norm:    0.0, 0.9999999999999999\n",
      "TEST original: 0.0, 1.80271\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 0.0, 1.742287\n",
      "VAL norm:    0.0, 0.9977985615054081\n",
      "-----Dim 48----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 1.0\n",
      "TEST norm:    0.0, 0.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n",
      "-----Dim 49----\n",
      "TRAIN original: 1.0, 2.0\n",
      "TRAIN norm:    0.0, 1.0\n",
      "TEST original: 1.0, 2.0\n",
      "TEST norm:    0.0, 1.0\n",
      "VAL original: 1.0, 2.0\n",
      "VAL norm:    0.0, 1.0\n",
      "-----Dim 50----\n",
      "TRAIN original: 1.0, 1.0\n",
      "TRAIN norm:    0.0, 0.0\n",
      "TEST original: 1.0, 1.0\n",
      "TEST norm:    0.0, 0.0\n",
      "VAL original: 1.0, 1.0\n",
      "VAL norm:    0.0, 0.0\n"
     ]
    }
   ],
   "source": [
    "for i in range(51):\n",
    "    print(f'-----Dim {i}----')\n",
    "    print(f'TRAIN original: {train_values[:, i].min()}, {train_values[:, i].max()}')\n",
    "    print(f'TRAIN norm:    {train_norm[:, i].min()}, {train_norm[:, i].max()}')\n",
    "    print(f'TEST original: {test_values[:, i].min()}, {test_values[:, i].max()}')\n",
    "    print(f'TEST norm:    {test_norm[:, i].min()}, {test_norm[:, i].max()}')\n",
    "    print(f'VAL original: {validation_values[:, i].min()}, {validation_values[:, i].max()}')\n",
    "    print(f'VAL norm:    {validation_norm[:, i].min()}, {validation_norm[:, i].max()}')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0 1.0\n",
      "0.0 1.0\n",
      "0.0 1.0\n",
      "(495000, 51) (404928, 51) (44991, 51)\n"
     ]
    }
   ],
   "source": [
    "print(train_norm.min(), train_norm.max())\n",
    "print(test_norm.min(), test_norm.max())\n",
    "print(validation_norm.min(), validation_norm.max())\n",
    "print(train_norm.shape, test_norm.shape, validation_norm.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_labels_clipped = test_labels_clipped.to_numpy()\n",
    "test_labels_reshaped = np.zeros_like(test_norm)\n",
    "\n",
    "for idx in range(0, len(test_labels_clipped)):\n",
    "    if test_labels_clipped[idx]:\n",
    "        # labels_reshaped.shape[1] == 51 aka num_feats\n",
    "        test_labels_reshaped[idx][0:test_labels_reshaped.shape[1]] = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [],
   "source": [
    "validation_labels_reshaped = np.zeros_like(validation_norm)\n",
    "\n",
    "for idx in range(0, len(validation_labels)):\n",
    "    if validation_labels[idx]:\n",
    "        # labels_reshaped.shape[1] == 51 aka num_feats\n",
    "        validation_labels_reshaped[idx][0:validation_labels_reshaped.shape[1]] = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(404928, 51) (44991, 51)\n"
     ]
    }
   ],
   "source": [
    "print(test_labels_reshaped.shape, validation_labels_reshaped.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.save('labels.npy', test_labels_reshaped)\n",
    "np.save('labels_validation.npy', validation_labels_reshaped)\n",
    "np.save('train.npy', train_norm)\n",
    "np.save('test.npy', test_norm)\n",
    "np.save('validation.npy', validation_norm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [],
   "source": [
    "load_test = np.load('../processed/SWAT_big/validation.npy')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "labels = np.load('../processed/SWAT_big/labels.npy')\n",
    "labels_validation = np.load('../processed/SWAT_big/labels_validation.npy')\n",
    "labels = (np.sum(labels, axis=1) >= 1) + 0\n",
    "labels_validation = (np.sum(labels_validation, axis=1) >= 1) + 0\n",
    "# labels.shape[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "12.140185233342002"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "((labels.sum() + labels_validation.sum()) / (labels.shape[0] + labels_validation.shape[0])) * 100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1501"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "labels.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.12386152599968389"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(labels.sum() / labels.shape[0]) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(44991, 51)"
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "load_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "py3.9test",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "27efe6010b91a164a18a011cd71b7afbe2f076e5b83b7f8099f414d97e11e710"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
